Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Лабораторна робота № 4

Інформація про навчальний заклад

ВУЗ:
Інші
Інститут:
ІКТА
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2010
Тип роботи:
Лабораторна робота
Предмет:
Мікропроцесори
Група:
ІБ - 43

Частина тексту файла

МІНІСТЕРСТВО ОСВІТИ УКРАЇНИ ДЕРЖАВНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»  Побудова охоронних систем з GSM-сигналізацією на AVR-мікроконтролерах Лабораторна робота № 4 З курсу «Мікропроцесорні пристрої» Львів 2010 Мета роботи – ознайомитись з принципами побудови охоронних систем з GSM-сигналізацією та їх програмно-апаратною реалізацією на AVR мікроконтролерах. ЗАВДАННЯ Домашня підготовка до роботи 1.Вивчити теоретичний матеріал. 2.Вивчити основні властивості МК необхідні для виконання лабораторної роботи. 3.Підготувати програму функціонування охоронної системи Виконати в лабораторії 1.Створити проект в CodeVisionAVR, ввести свою програму, провести її компілювання. 2.В режимі покрокової відладки переконатися в правильності роботи програми. 3.Відкрити файл-схему у програмі Proteus, підключити до МК hex-файл. 4.Запустити режим симуляції схеми та перевірити правильність функціонування охоронної системи у всіх режимах роботи.  ТЕКСТ ПРОГРАМИ #include <90S2313.h> #include <delay.h> #include <stdio.h> #include <string.h> // Мигання світлодіода під час охорони об'єкта const unsigned int tBlick = 1000/1.5/50; // Мигання світлодіода під час тривоги const unsigned int tAlarm = 1000/20; unsigned char D_Type1; // тип 1 давача 0 - не викор., 1 - НРЗ, 2 - НЗ unsigned char D_Type2; // тип 2 давача 0 - не викор., 1 - НРЗ, 2 - НЗ unsigned char z1_Time; unsigned char z2_Time; unsigned char buf[40]; // Буфер для читання та запису АТ-команд у модем unsigned char pos; // Позиція кінця рядка в буфері unsigned char admin_no[17]; // номер адміністратора безпеки unsigned char NoError; // не рівне 0 якщо АТ команда повернула "OK" // поступив новий байт даних через UART interrupt[UART_RXC] void UART_Read() { // Ознака успішного виконання АТ команди char *OK="OK"; buf[pos]=UDR, buf[++pos]=0; NoError = *strstr(buf, OK); } void AT_Write(flash char *fStr) { register unsigned char i = 0; SREG.7 = 0; // заборона переривань putchar('A'), putchar('T'); // початок АТ команди if(fStr) strcpyf(buf, fStr); // скопіювати команду в ОП while(buf[i]) putchar(buf[i++]); // команда putchar(0x0D); // завершення команди buf[pos=0]=0; // обнулити буфер прийому SREG.7 = 1; // дозвіл переривань delay_ms(50); // затримка перед отриманням результату } // копіює входження символів, що мають визначений початок і кінець void ExtractStr(char *to, char begin, char end, char *from) { *to=0; // обнуляємо вихідний рядок // шукаємо початок while(from && *from!=begin && *from) ++from; ++from; // копіюємо до кінцевого символу while(*from && *from!=end) *to++=*from++; *to=0; // ознака закінчення рядка } // налаштування входів, передавача UART та // зчитування загальних налаштувань з GSM модема void Init() { SREG.7 = 1; // загальний дозвіл переривань // налаштування входу кнопки DDRB.0=0, PORTB.0=1; // дозвіл перерив. чит., прийому передачі через UART UCR.7 = UCR.3 = UCR.4 = 1; // швидкість передачі 9600 бод UBRR = 45; // налаштування входів давачів DDRD.4=0, PORTD.4=1; // вхід 1 НЗ DDRB.1=0, PORTB.1=1; // вхід 2 НЗ // налаштування виходу світлодіода DDRB.3=1, PORTB.3=1; } // Ініціалізація модему та запит налаштувань void InitGSM_Modem() { char tmp[10]; char first_sim[4]; // спробуємо завантажити налаштування з першої комірки сім катрки // відключити режим "ехо" AT_Write("E0"); // активна тел. книжка - сім картка AT_Write("+CPBS=\"SM\""); // вивести інформацію про тел. книжку AT_Write("+CPBR=?"); // якщо помилка використовуємо відповідь по замовчуванню if(!NoError) strcpyf(buf, "\r\n+CPBR: (501-700),40,14\r"); // скопіювати номер першої комірки в tmp ExtractStr(first_sim, '(', '-', buf); // запит на виведення першої комірки сім-картки strcpyf(buf, "+CPBR="), strcat(buf, first_sim); // вивести вміст першої комірки (містить налаштування) AT_Write(0); if(!NoError)// по замвч. всі давачі НЗ (2), ...
Антиботан аватар за замовчуванням

13.02.2013 01:02

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини